home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
151-175
/
scopedisk168
/
asmmacros
/
am_02
/
lock.i
< prev
next >
Wrap
Text File
|
1995-03-19
|
2KB
|
62 lines
NOLIST
Lock MACRO ; 19 Dec 88
*------------------------------; Start of Lock macro.
NOLIST
IFC '\4','read'
LIST
MOVEQ #-2,D2 ; Make D2 indicate the read accessMode.
NOLIST
ENDC
IFC '\4','write'
LIST
MOVEQ #-1,D2 ; Make D2 indicate the write accessMode.
NOLIST
ENDC
IFC '\1','I' ; If <PointerToFileName> is specified, then
LIST
; Put <PointerToFileName> in D1.
MOVE.L #\2,D1
NOLIST
IFEQ ReEntrant-1
LIST
ADD.L A5,D1
NOLIST
ENDC
ENDC
IFC '\1','D' ; If <FileName> is specified, then
LIST
; Make D1 point to <FileName>.str .
MOVE.L #\2.str,D1
NOLIST
IFND \2.str ; Unless it was previously defined,
LIST
SECTION DataSection,DATA ; The ASCII <FileName> string goes here.
\2.str:
DC.B '\2',0
CNOP 0,2
SECTION CodeSection,CODE
NOLIST
ENDC
ENDC
LIST
CallLib Lock,dos ; Call Lock to get a lock on <FileName>.
; Put the lock at <LockName>.
NOLIST
IFEQ ReEntrant-1
LIST
DefDS \3,1
MOVE.L D0,\3(A5)
NOLIST
ENDC
IFNE ReEntrant-1
LIST
DS_BSS \3,1,.L
MOVE.L D0,\3
NOLIST
ENDC
LIST
TST.L D0 ; Make the zero flag indicate failure.
*------------------------------; End of Lock macro.
ENDM
LIST